package com.taotao.job.service;

import com.taotao.job.model.entity.JobScheduleMeta;

import java.util.List;
import java.util.Set;

/**
 * <p>
 * 任务时间调度的元数据服务接口
 * </p>
 *
 * @author Fan Beibei
 * @version V1.0
 * @since 2021-03-14 21:43:18
 */
public interface JobScheduleMetaService {


    /**
     * 根据主键软删除
     *
     * @param ids    主键
     * @param userId 操作人ID
     */
    void softDelByIds(Set<java.lang.Long> ids, Long userId);


    /**
     * 根据主键查询
     *
     * @param id 主键
     * @return
     */
    JobScheduleMeta queryById(java.lang.Long id);

    /**
     * 添加或更新记录
     *
     * @param jobScheduleMeta 记录
     * @param userId          操作人ID
     */
    void addOrUpdate(JobScheduleMeta jobScheduleMeta, Long userId);


    List<JobScheduleMeta> getJobForSchedule(long timestamp);


    void updateTriggerNextTime(Long jobId, long triggerNextTime);
}
